using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("TutorialKeywordManager")]
	public class TutorialKeywordManager : MonoBehaviour
	{
		public TutorialKeywordTooltip m_keywordPanelPrefab => method_3<TutorialKeywordTooltip>("m_keywordPanelPrefab");

		public List<TutorialKeywordTooltip> m_keywordPanels => method_3<Class271<TutorialKeywordTooltip>>("m_keywordPanels")?.method_25();

		public Actor m_actor => method_3<Actor>("m_actor");

		public Card m_card => method_3<Card>("m_card");

		public TutorialKeywordManager(IntPtr address, string className)
			: base(address, className)
		{
		}

		public TutorialKeywordManager(IntPtr address)
			: this(address, "TutorialKeywordManager")
		{
		}

		public static TutorialKeywordManager Get()
		{
			return MonoClass.smethod_15<TutorialKeywordManager>(TritonHs.MainAssemblyPath, "", "TutorialKeywordManager", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void UpdateKeywordHelp(Card c, Actor a)
		{
			method_9("UpdateKeywordHelp", new Class276.Enum20[2]
			{
				Class276.Enum20.Class,
				Class276.Enum20.Class
			}, c, a);
		}

		public void PrepareToUpdateKeywordHelp(Actor actor)
		{
			method_8("PrepareToUpdateKeywordHelp", actor);
		}

		public void SetUpPanels(EntityBase entityInfo)
		{
			method_8("SetUpPanels", entityInfo);
		}

		public bool SetupKeywordPanelIfNecessary(EntityBase entityInfo, GAME_TAG tag)
		{
			return method_11<bool>("SetupKeywordPanelIfNecessary", new object[2] { entityInfo, tag });
		}

		public void SetupKeywordPanel(GAME_TAG tag)
		{
			method_9("SetupKeywordPanel", new Class276.Enum20[1] { Class276.Enum20.ValueType }, tag);
		}

		public void SetupKeywordRefPanel(GAME_TAG tag)
		{
			method_8("SetupKeywordRefPanel", tag);
		}

		public void SetupKeywordPanel(string headline, string description)
		{
			method_9("SetupKeywordPanel", new Class276.Enum20[2]
			{
				Class276.Enum20.String,
				Class276.Enum20.String
			}, headline, description);
		}

		public void HideKeywordHelp()
		{
			method_8("HideKeywordHelp");
		}

		public Card GetCard()
		{
			return method_14<Card>("GetCard", Array.Empty<object>());
		}

		public Vector3 GetPositionOfTopPanel()
		{
			return method_11<Vector3>("GetPositionOfTopPanel", Array.Empty<object>());
		}
	}
}
